12 research outputs found
Recommended from our members
Accurate modeling of core and memory locality for proxy generation targeting emerging applications and architectures
Designing optimal computer systems for improved performance and energy efficiency requires architects and designers to have a deep understanding of the end-user workloads. However, many end-users (e.g., large corporations, banks, defense organizations, etc.) are apprehensive to share their applications with designers due to the confidential nature of software code and data. In addition, emerging applications pose significant challenges to early design space exploration due to their long-running nature and the highly complex nature of their software stack that cannot be supported on many early performance models.
The above challenges can be overcome by using a proxy benchmark. A miniaturized proxy benchmark can be used as a substitute of the original workload to perform early computer performance evaluation. The process of generating a proxy benchmark consists of extracting a set of key statistics to summarize the behavior of end-user applications through profiling and using the collected statistics to synthesize a representative proxy benchmark. Using such proxy benchmarks can help designers to understand the behavior of end-user’s workloads in a reasonable time without the users having to disclose sensitive information about their workloads.
Prior proxy benchmarking schemes leverage micro-architecture independent metrics, derived from detailed simulation tools, to generate proxy benchmarks. However, many emerging workloads do not work reliably with many profiling or simulation tools, in which case it becomes impossible to apply prior proxy generation techniques to generate proxy benchmarks for such complex applications. Furthermore, these techniques model instruction pipeline-level locality in great detail, but abstract out memory locality modeling using simple stride-based models. This results in poor cloning accuracy especially for emerging applications, which have larger memory footprints and complex access patterns. A few detailed cache and memory locality modeling techniques have also been proposed in literature. However, these techniques either model limited locality metrics and suffer from poor cloning accuracy or are fairly accurate, but at the expense of significant metadata overhead. Finally, none of the prior proxy benchmarking techniques model both core and memory locality with high accuracy. As a result, they are not useful for studying system-level performance behavior. Keeping the above key limitations and shortcomings of prior work in mind, this dissertation presents several techniques that expand the frontiers of workload proxy benchmarking, thereby enabling computer designers to gain a better and faster understanding of end-user application behavior without compromising the privileged nature of software or data.
This dissertation first presents a core-level proxy benchmark generation methodology that leverages performance metrics derived from hardware performance counter measurements to create miniature proxy benchmarks targeting emerging big-data applications. The presented performance counter based characterization and associated extrapolation into generic parameters for proxy generation enables faster analysis (runs almost at native hardware speeds, unlike prior workload cloning proposals) and proxy generation for emerging applications that do not work with simulators or profiling tools. The generated proxy benchmarks are representative of the performance of the real-world big-data applications, including operating system and run-time effects, and yet converge to results quickly without needing any complex software stack support.
Next, to improve upon the accuracy and efficiency of prior memory proxy benchmarking techniques, this dissertation presents a novel memory locality modeling technique that leverages localized pattern detection to create miniature memory proxy benchmarks. The presented technique models memory reference locality by decomposing an application’s memory accesses into a set of independent streams (localized by using address region based localization property), tracking fine-grained patterns within the localized streams and, finally, chaining or interleaving accesses from different localized memory streams to create an ordered proxy memory access sequence. This dissertation further extends the workload cloning approach to Graphics Processing Units (GPUs) and presents a novel proxy generation methodology to model the inherent memory access locality of GPU applications, while also accounting for the GPU’s parallel execution model. The generated memory proxy benchmarks help to enable fast and efficient design space exploration of futuristic memory hierarchies.
Finally, this dissertation presents a novel technique to integrate accurate core and memory locality models to create system-level proxy benchmarks targeting emerging applications. This is a new capability that can facilitate efficient overall system (core, cache and memory subsystem) design-space exploration. This dissertation further presents a novel methodology that exploits the synthetic benchmark generation framework to create hypothetical workloads with performance behavior that does not currently exist. Such proxies can be generated to cover anticipated code trends and can represent futuristic workloads before the workloads even exist.Electrical and Computer Engineerin
A Branch-Directed Data Cache Prefetching Technique for Inorder Processors
The increasing gap between processor and main memory speeds has become a serious
bottleneck towards further improvement in system performance. Data prefetching
techniques have been proposed to hide the performance impact of such long memory
latencies. But most of the currently proposed data prefetchers predict future memory
accesses based on current memory misses. This limits the opportunity that can be
exploited to guide prefetching.
In this thesis, we propose a branch-directed data prefetcher that uses the high prediction
accuracies of current-generation branch predictors to predict a future basic block trace
that the program will execute and issues prefetches for all the identified memory
instructions contained therein. We also propose a novel technique to generate prefetch
addresses by exploiting the correlation between the addresses generated by memory
instructions and the values of the corresponding source registers at prior branch
instances. We evaluate the impact of our prefetcher by using a cycle-accurate simulation
of an inorder processor on the M5 simulator. The results of the evaluation show that the
branch-directed prefetcher improves the performance on a set of 18 SPEC CPU2006
benchmarks by an average of 38.789% over a no-prefetching implementation and
2.148% over a system that employs a Spatial Memory Streaming prefetcher
Resealed Erythrocyte: an Approach to Targeted Drug Delivery
Application of erythrocytes, the most abundant cells of the human body with desirable physiologic and morphologic characteristics, in drug delivery has been exploited extensively. Among the various carriers used for targeting drugs to various body tissues, the cellular carriers meet several criteria desirable in clinical applications, among the most important being biocompatibility of carrier and its degradation products. Leucocytes, platelets, erythrocytes, nanoerythrocytes, hepatocytes, and fibroblasts etc. have been proposed as cellular carrier systems. Among these, the erythrocytes have been the most investigated and have found to possess greater potential in drug delivery. Biopharmaceuticals, therapeutically significant peptides and proteins, nucleic acid-based biological, antigens, anticancer drug and vaccines, are among the recently focused pharmaceuticals for being delivered using carrier erythrocytes. Erythrocytes, also known as red blood cells, and have been extensively studied for their potential carrier capabilities for the delivery of drugs. The biocompatibility, non-pathogenicity, non-immunogenicity and biodegradability make them unique and useful carriers
Circadian oscillator proteins across the kingdoms of life : Structural aspects 06 Biological Sciences 0601 Biochemistry and Cell Biology
Circadian oscillators are networks of biochemical feedback loops that generate 24-hour rhythms and control numerous biological processes in a range of organisms. These periodic rhythms are the result of a complex interplay of interactions among clock components. These components are specific to the organism but share molecular mechanisms that are similar across kingdoms. The elucidation of clock mechanisms in different kingdoms has recently started to attain the level of structural interpretation. A full understanding of these molecular processes requires detailed knowledge, not only of the biochemical and biophysical properties of clock proteins and their interactions, but also the three-dimensional structure of clockwork components. Posttranslational modifications (such as phosphorylation) and protein-protein interactions, have become a central focus of recent research, in particular the complex interactions mediated by the phosphorylation of clock proteins and the formation of multimeric protein complexes that regulate clock genes at transcriptional and translational levels. The three-dimensional structures for the cyanobacterial clock components are well understood, and progress is underway to comprehend the mechanistic details. However, structural recognition of the eukaryotic clock has just begun. This review serves as a primer as the clock communities move towards the exciting realm of structural biology